"""
前面我们学习了
输入input 输出print
变量命名 赋值 算数运算
一些基本的绘图操作 forward penup pendown right

这里 先绘制一个简单的螺旋线

旋转小于90度不会出现旋转的效果，只会有螺旋效果
大于90度，自己和自己的余角都不可被整除才会出现旋转的
"""
import turtle as t


legth = 100
def draw1():
    t.shape("turtle")
    global legth
    legth += 10
    t.forward(legth)
    t.right(90)
    legth += 10
    t.forward(legth)
    t.right(90)
    legth += 10
    t.forward(legth)
    t.right(90)
    legth += 10
    t.forward(legth)
    t.right(90)
    legth += 10
    t.forward(legth)
    t.right(90)
    legth += 10
    t.forward(legth)
    t.right(90)
    t.done()

# 可以看到方法一都是重复的代码，我们能不能处理一下呢？ 引出了for循环 通过range实现
def draw2():
    t.shape("turtle")
    global legth
    for i in range(10):
        legth += 10
        t.forward(legth)
        t.right(90)
    t.done()

# 绘制正方形螺旋曲线 如果要出现螺旋，就让转的角度或者角度的余角都不能被360整除就会出现螺旋,且要大于90度
def draw3():
    length2 = 100
    for i in range(1,100,2):
        length2 += i
        t.forward(length2)
        t.right(91) # 这里改成89也行
    t.done()

# 测试角度旋转180度多的效果 仍然是
def draw4():
    length2 = 100
    for i in range(1,100,2):
        length2 += i
        t.forward(length2)
        t.right(181) # 这里改成89也行
    t.done()

def draw93():
    for i in range(100,200):
        t.forward(i)
        t.right(93)
    t.done()

def draw121():
    t.speed(10)
    for i in range(100,200,2):
        t.forward(i)
        t.right(121)
    t.done()


# 绘制正三角螺旋线
def triangle1():
    t.speed(10)
    for i in range(5,300,10):
        t.forward(i)
        t.right(120)
    t.done()

# 绘制空心正三角螺旋线
def triangle2():
    t.speed(10)
    for i in range(100,400,10):
        t.forward(i)
        t.right(120)
    t.done()

# 绘制旋转空心正三角螺旋线
def triangle3():
    t.speed(0)
    for i in range(100,800,10):
        t.forward(i)
        t.right(121)
    t.done()



if __name__ == '__main__':
    print(range(10))
    #draw2()

    # 绘制螺旋正方形
    #draw3()
    # 我把扭头的角度超过了180度 = 181 同样出现了螺旋
    #draw4()
    #draw93()
    #draw121()

    # 课后作业
    #triangle1()
    # triangle2()
    triangle3()
